package com.kurumi.medical.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

public interface ExportDataMapper {
	
	
	/**
	 * 从oracle中获取住院信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getMedicalHospitalRecordByOracle();

	/**
	 * 从oracle中获取婚姻列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getMarriagesByOracle();
	/**
	 * 从oracle中获取性别列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getSexByOracle();
	
	/**
	 * 从oracle中获取身份列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getIdentityByOracle();
	
	/**
	 * 从oracle中获取门诊住院列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getOutpByOracle();
	
	/**
	 * 从oracle中获取科室内外科属性列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getInternalOutByOracle();
	
	/**
	 * 从oracle中获取科室列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getOfficeByOracle();
	
	/**
	 * 从oracle中获取科室临床列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getClinicAttrByOracle();
	
	/**
	 * 从oracle中获取民族列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getNationByOracle();
	
	/**
	 * 从oracle中获取血型列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getBloodTypeByOracle();
	
	/**
	 * 从oracle中获取国籍列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getCountryByOracle();
	
	/**
	 * 从oracle中获取出生地列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getAreaByOracle();
	/**
	 * 从oracle中获取职业列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getProfessionByOracle();
	
	/**
	 * 从oracle中获取社会关系列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getRelationShipByOracle();
	
	/**
	 * 从oracle中获取入院方式列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getInHospTypeByOracle();
	
	/**
	 * 从oracle中获取入院病情列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getInHospStatusByOracle();
	
	/**
	 * 从oracle中获取工作职务列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getTitileByOracle();
	
	/**
	 * 从oracle中获取工作职业列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getJobClassByOracle();
	
	/**
	 * 从oracle中获取出院方式列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getOutHospTypeByOracle();

	/**
	 * 从oracle中获取费用类别列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getChargeTypeByOracle();

	/**
	 * 从oracle中获取国际疾病列表信息
	 * @return
	 */
	List<Map<String,Object>> getDiagnosisByOracle();
	
	/**
	 * 从oracle中获取疾病诊断信息
	 * @return
	 */
	List<Map<String,Object>> getOracleDiagnosisOfByPatientIdAndVisitId(@Param("patientId")String patientId,@Param("visitId")String visitId);
	
	/**
	 * 从oracle中获取手术操作列表信息
	 * @return
	 */
	List<Map<String,Object>> getOracleOperationOfByPatientIdAndVisitId(@Param("patientId")String patientId,@Param("visitId")String visitId);
	
	
	/**
	 * 从oracle中获取转科列表信息
	 * @return
	 */
	List<Map<String,Object>> getOracleTransferByPatientIdAndVisitId(@Param("patientId")String patientId,@Param("visitId")String visitId);
	
	
	/**
	 * 从oracle中获取转科列表信息
	 * @return
	 */
	List<Map<String,Object>> getOracleDiagComparingByPatientIdAndVisitId(@Param("patientId")String patientId,@Param("visitId")String visitId);
	
	
	/**
	 * 从oracle中获取员工列表信息
	 * @return
	 */
	List<Map<String,Object>> getStaffsByOracle();
	
	
	/**
	 * 从Mysql中获取科室信息
	 * @return
	 */
	List<Map<String, Object>> getOfficesByOfficeCode(String officeCode);
	
	List<Map<String, Object>> getMedicalOfficeByName(String name);
	
	/**
	 * 从Mysql中获取职业信息
	 * @return
	 */
	List<Map<String, Object>> getMedicalProfessionIdsByName(String name);
	
	
	/**
	 * 从Mysql中获取职称信息
	 * @return
	 */
	List<Map<String, Object>> getMedicalProfessionTitleIdsByName(String name);
	
	
	/**
	 * 从Mysql中获取性别Ids
	 * @return
	 */
	List<Map<String, Object>> getSexIdsByName(String name);
	
	/**
	 * 从Mysql中获取出院方式
	 * @return
	 */
	List<Map<String, Object>> getOutHospitalTypeByCode(String code);
	
	List<Map<String, Object>> getOutHospitalTypeByName(String name);
	
	/**
	 * 从Mysql中获取国际
	 * @return
	 */
	List<Map<String, Object>> getMysqlDiagnoseTypeByCode(String code);
	
	
	
	/**
	 * 从Mysql中获取疾病诊断
	 * @return
	 */
	List<Map<String, Object>> getMysqlNationalityByCode(String code);
	
	List<Map<String, Object>> getIdDocumentTypeByCode(String code);
	
	List<Map<String, Object>> getHospitalByCode(String code);
	
	/**
	 * 从Mysql中获取诊断符合状况
	 * @return
	 */
	List<Map<String, Object>> getMysqlDiagCoincidenceTypeByCode(String code);
	
	/**
	 * 从Mysql中获取疾病
	 * @return
	 */
	List<Map<String, Object>> getMysqlDiseaseByName(String name);
	
	/**
	 * 从Mysql中获取治疗结果
	 * @return
	 */
	List<Map<String, Object>> getMysqlTreatmentResultByName(String name);
	
	/**
	 * 从Mysql中获取民族
	 * @return
	 */
	List<Map<String, Object>> getMysqlNationByName(String name);
	
	/**
	 * 从Mysql中职业
	 * @return
	 */
	List<Map<String, Object>> getMysqlProfessionByCode(String code);
	
	/**
	 * 从Mysql中获取婚姻
	 * @return
	 */
	List<Map<String, Object>> getMysqlMarriageByName(String name);
	
	/**
	 * 从Mysql中获取亲属关系
	 * @return
	 */
	List<Map<String, Object>> getMysqlRelativeRelationByCode(String code);
	
	/**
	 * 从Mysql中获取员工
	 * @return
	 */
	List<Map<String, Object>> getMysqlMedicalWorkerByName(String name);
	
	/**
	 * 从Mysql中获取入院方式
	 * @return
	 */
	List<Map<String, Object>> getMysqlInHospitalTypeByCode(String code);
	
	/**
	 * 从Mysql中获取入院状况
	 * @return
	 */
	List<Map<String, Object>> getMysqlInHospitalStateByCode(String code);
	
	
	/**
	 * 从Mysql中获取ABO血型
	 * @return
	 */
	List<Map<String, Object>> getMysqlBloodTypeByName(String name);
	
	
	/**
	 * 从Mysql中获取RH血型
	 * @return
	 */
	List<Map<String, Object>> getMysqlRhBloodTypeByName(String name);
	
	/**
	 * 从Mysql中获取切口等级
	 * @return
	 */
	List<Map<String, Object>> getMysqlIncisionLevelByName(String name);
	
	/**
	 * 从Mysql中获取愈合状况
	 * @return
	 */
	List<Map<String, Object>> getMysqlCicatrizationTypeByName(String name);
	
	
	/**
	 * 从Mysql中获取麻醉方式
	 * @return
	 */
	List<Map<String, Object>> getMysqlAnaesthesiaWayByName(String name);
	
	/**
	 * 从oracle中获取手术编码列表信息
	 * @return
	 */
	List<Map<String,Object>> getOperationsByOracle();
	
	
	/**
	 * 将疾病列表信息批量插入到mysql中
	 * 
	 */
	int insertDiseaseBatch(List<Map<String,Object>> list);
	
	/**
	 * 将员工列表信息批量插入到mysql中
	 * 
	 */
	int insertMedicalWorkBatch(List<Map<String,Object>> list);
	
	/**
	 * 将手术列表信息批量插入到mysql中
	 * 
	 */
	int insertOperationBatch(List<Map<String,Object>> list);
	
	/**
	 * 将婚姻列表信息批量插入到mysql中
	 * 
	 */
	int insertMarrigeBatch(List<Map<String,Object>> list);
	
	/**
	 * 从oracle中获取列表信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getDataByOracle(Map<String,Object> map);
	 
	/**
	 * 将性别列表信息批量插入到mysql中
	 * 
	 */
	int insertSexBatch(List<Map<String,Object>> list);
	 
	/**
	 * 将身份列表信息批量插入到mysql中
	 * 
	 */
	int insertIdentityInfoBatch(List<Map<String,Object>> list);
	 
	/**
	 * 将科室门诊住院列表信息批量插入到mysql中
	 * 
	 */
	int insertOfficeOutpBatch(List<Map<String,Object>> list);
	 
	/**
	 * 将科室内外科属性列表信息批量插入到mysql中
	 * 
	 */
	int insertInternalOutBatch(List<Map<String,Object>> list);
	
	/**
	 * 将科室临床属性列表信息批量插入到mysql中
	 * 
	 */
	int insertClinicAttrBatch(List<Map<String,Object>> list);
	
	/**
	 * 将科室列表信息批量插入到mysql中
	 * 
	 */
	int insertOfficeBatch(List<Map<String,Object>> list);
	
	/**
	 * 将民族列表信息批量插入到mysql中
	 * 
	 */
	int insertNationBatch(List<Map<String,Object>> list);
	/**
	 * 将血型列表信息批量插入到mysql中
	 * 
	 */
	int insertBloodTypeBatch(List<Map<String,Object>> list);
	/**
	 * 将国籍列表信息批量插入到mysql中
	 * 
	 */
	int insertCountryBatch(List<Map<String,Object>> list);
	
	/**
	 * 将出生地列表信息批量插入到mysql中
	 * 
	 */
	int insertAreaBatch(List<Map<String,Object>> list);
	
	/**
	 * 将职业列表信息批量插入到mysql中
	 * 
	 */
	int insertProfessionBatch(List<Map<String,Object>> list);
	
	/**
	 * 将社会关系列表信息批量插入到mysql中
	 * 
	 */
	int insertRelationBatch(List<Map<String,Object>> list);
	
	/**
	 * 将入院方式列表信息批量插入到mysql中
	 * 
	 */
	int insertInHosTypeBatch(List<Map<String,Object>> list);
	/**
	 * 将入院病情列表信息批量插入到mysql中
	 * 
	 */
	int insertInHosStatusBatch(List<Map<String,Object>> list);

	
	/**
	 * 将医疗职称列表信息批量插入到mysql中
	 * 
	 */
	int insertMedicalProfessionalTitlesBatch(List<Map<String,Object>> list);
	
	/**
	 * 将医疗职业列表信息批量插入到mysql中
	 * 
	 */
	int insertMedicalProfessionalsBatch(List<Map<String,Object>> list);

	/**
	 * 将出院方式列表信息批量插入到mysql中
	 * 
	 */
	int insertOutHosTypeBatch(List<Map<String,Object>> list);
	
	/**
	 * 根据表名将数据插入该表中
	 * 
	 * @param tableName mysql数据库表名
	 * @return
	 */
	int inserDataTable(Map<String,Object> map);

	/**
	 * 将付费方式列表信息批量插入到mysql中
	 * @param list
	 * @return
	 */
	int insertMedicalPaymentTypesBatch(List<Map<String,Object>> list);
	
	
	/**
	 * 从oracle中获取病案基本信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisitInfoByOracle();
	
	/**
	 * 从oracle中获取病案诊断符合情况信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisitDiagCompareInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案诊断信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisitDiagInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案手术信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisitOperateInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案转科信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisitTransferDeptInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案输血信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisitTransferBloodInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	
	/**
	 * 从oracle中获取病案输血信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisitDoctorAdviceInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案检查报告单信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisitExaminationReportInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案检查报告单信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisitExaminationItemInfoByOracle(@Param("applyNo")String applyNo);
	
	
}